Observable Sequentiality and Full Abstraction 1 Full Abstraction and Sequentiality
نویسندگان
چکیده
One of the major challenges in denotational semantics is the construction of fully abstract models for sequential programming languages. For the past fteen years, research on this problem has focused on developing models for PCF, an idealized functional programming language based on the typed lambda calculus. Unlike most practical languages, PCF has no facilities for observing and exploiting the evaluation order of arguments in procedures. Since we believe that such facilities are crucial for understanding the nature of sequential computation , this paper focuses on a sequential extension of PCF (called SPCF) that includes two classes of control operators: error generators and escape handlers. These new control operators enable us to construct a fully abstract model for SPCF that interprets higher types as sets of error-sensitive functions instead of continuous functions. The error-sensitive functions form a Scott domain that is isomorphic to a domain of decision trees. We believe that the same construction will yield fully abstract models for functional languages with diierent control operators for observing the order of evaluation. A denotational semantics for a programming language determines two natural equivalence relations on program phrases. The rst relation, denotational equivalence , equates two phrases if and only if they denote the same element in the model. The second relation, observational equivalence, equates two phrases if and only if they have the same \observable behavior". In the denotational framework, observable behavior refers to the concrete output produced by entire programs. Thus, two phrases are observationally equivalent if and only if they can be interchanged in an arbitrary program without aaecting the output. These two equivalence relations are diierent in general. Denotational equivalence implies observational equivalence because denotational models are composi-tional. However, the converse rarely holds for conventional models of practical programming languages; some observationally equivalent phrases inevitably have different meanings. A semantics in which denotational equivalence and observational equivalence coincide is said to be fully abstract. Observational equivalence is the fundamental constraint governing program optimization. Since the users of a program are primarily interested in its input-output behavior, a compiler can optimize a program by interchanging observationally equivalent phrases. If a deno-tational semantics is fully abstract, then observational equivalence reduces to denotational equivalence, which can be analyzed with traditional mathematical tools. Consequently, one of the primary goals of research in de-notational semantics has been the construction of fully abstract models for practical languages. The following example shows why models based …
منابع مشابه
Sequentiality and the CPS Semantics of Fresh Names
We investigate the domain-theoretic denotational semantics of a CPS calculus with fresh name declaration. This is the target of a fully abstract CPS translation from the nu-calculus with first-class continuations. We describe a notion of “FM-categorical” model for our calculus, with a simple interpretation of name generation due to Shinwell and Pitts. We show that full abstraction fails (at ord...
متن کاملSequentiality in Bounded Biorders
We study a notion of bounded stable biorder, showing that the monotone and stable functions on such biorders are sequential. We construct bounded biorder models of a range of sequential, higher-order functional calculi, including unary PCF, (typed and untyped) call-by-value and lazy λ-calculi, and non-deterministic SPCF. We prove universality and full abstraction results for these models by red...
متن کاملA fully abstract model for sequential computation
In 1977, G. Plotkin pointed out the problem of finding a fully abstract model for the sequential programming language PCF [16], which had been originally developed by D. Scott [19]. This question turned out to be one of the most enduring problems of semantics. A very nice description of the different approaches to this subject with many references can be found in [5]. In this rather brief overv...
متن کاملLocal Specification of Distributed Families of Sequential Objects
1 I n t r o d u c t i o n In abstract da ta type theory, higher-order model classes like isomorphism classes of many:sorted algebras are specified with (conditional) equational logic tha t does not per se allow for specifying such classes. The trick is to employ some general higher-order principle to specifiable classes. A popular principle of this kind is initiality, i.e., restriction to initi...
متن کاملAbstraction, desalination and recharge method to control seawater intrusion into unconfined coastal aquifers
In this study, abstraction, desalination and recharge method and SEAWAT numerical model are used to investigate seawater intrusion repulsion in a hypothetical two-dimensional coastal aquifer to understand the relation of seawater intrusion with abstraction, desalination and recharge parameters (i.e. abstraction/recharge rate, wells distance and depth). Abstraction, desalination and recharge con...
متن کامل